﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Shapes;
using V2TEK.NET.SH.Silverlight.Charts.Core;
using V2TEK.NET.SH.Silverlight.Charts.Core.Schedule;
using System.ComponentModel;
using System.Collections.Generic;

namespace V2TEK.NET.SH.Silverlight.Charts.GanttHelper
{
    public interface ITaskDescriptor : ITask, ICloneable<ITaskDescriptor>, IHierarchicalData<ITaskDescriptor>
    {
        object UniqueId { get; set; }
        ITaskDescriptor Ghost { get; set; }
        string DisplayText { get; }
        string Description { get; set; }
        string Tooltip { get; }
        /// <summary>
        /// 计算TotalCountExClps需要使用该属性
        /// </summary>
        bool IsExpand { get; set; }
        bool IsSelected { get; set; }
        int TotalCountExClps { get; }
        bool EnableExpand { get; set; }
        bool ReadOnly { get; set; }

        /// <summary>
        /// ITask增强,解析ConstraintString，获得
        /// </summary>
        List<IConstraint<ITaskDescriptor>> Constraints { get; }

        //资源解析
        IEnumerable<IResource> Resources { get; }

        /// <summary>
        /// ITask增强
        /// </summary>
        ITime TimeBaseLine { get; set; }
    }
}
